#if !defined(COLLISIONCHECKER_H_)
#define COLLISIONCHECKER_H_

#include <typeinfo>
#include "Shape.h"
#include "OverlapsEngine.h"
using namespace std;





class CollisionChecker  
{

private:

	static CollisionChecker* singleton; 
	CollisionChecker();

public:

	virtual ~CollisionChecker();

	static CollisionChecker* getInstance(); 

	// analiza si dos shapes estan chocando.
	// devuelve el punto de suporposicion mas cercano al origen si estan chocando.
	// o NULL en caso contrario
	Point* checkShapesOverlap(Shape* shape1,Shape* shape2);



};

#endif 
